<?php

namespace App\Http\Controllers\Campaign\Platform;

use App\Http\Controllers\BaseApiController;
use App\Services\Campaign\Platform\CommentService;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;

//评论的控制器
class CommentController extends BaseApiController
{
    private  $service;
    //构造方法
    public function __construct(CommentService $service)
    {
        parent::__construct();
        $this->service=$service;
    }

    /**
     * @param Request $request
     * @return \Illuminate\Http\JsonResponse|string
     * 添加评论   添加  专家评论  视频   的评论接口   type=>2
     * 添加评论   企业的评论接口  type=>3
     * 添加资讯  的评论接口
     */
    public function CommentAdd(Request $request){
        //验证器
        $rules=[
            'user_id'=>'required|integer',
            'comment_details'=>'required',
            'comment_type'=>'required|integer',
            'comment_relate'=>'required|integer',
            'comment_img'=>'required',
        ];

        //判断是否是添加  企业的评论  因为企业多两个字段
        if($request['comment_type']=='3'){
             $re=[
                 'position_name'=>'required|string',
                 'position_money'=>'required|string',
             ];

            $rules=array_merge($rules,$re);
        }

      if( $error=$this->validate($rules,$request)){
          return $error;
      }
//        添加  入库
        $data=$this->service->CommentAdd($request);

      //失败报错
      if($data!==200){
          return $this->fail($data);
      }
      else{
          return $this->success();
      }

    }


    /**
     * 查询评论的接口
     * 通过评论的类型  还有关联id查出相应的评论
     * 关联id必须存在
     */
    public function CommentSel(Request $request){
        //验证出错
        $relus=[
            'comment_type'=>'required|integer',
            'comment_relate'=>'required|integer',
        ];
        if($errors=$this->validate($relus,$request)){
            return $errors;
        }
        $data=$this->service->CommentSel($request);

//        return $data;

//        return $arr;
        if($data['code']!=200){
            return $this->fail($data['code']);
        }else{
            $arr['data']=$data['data'];
            if($request['comment_type']=='3'){
                $arr['img']=$data['img'];
            }
            return $this->success($arr);
        }
    }


}
